#pragma once

namespace ManagedVC1
{
	public ref class ThreadRunInfo
	{
	private:
		unsigned long m_numThreads, m_affinityMask;
	public:
		ThreadRunInfo(unsigned long numThreads, unsigned long affinityMask)
		{
			if (numThreads > 4 || numThreads == 3) 
				throw gcnew System::ArgumentOutOfRangeException("numThreads", "Number of threads must be less than or equal to 4 and not equal to 3");
			m_numThreads = numThreads;
			m_affinityMask = affinityMask;
		}

		property unsigned long NumThreads
		{
			unsigned long get()
			{
				return m_numThreads;
			}
		}

		property unsigned long AffinityMask
		{
			unsigned long get()
			{
				return m_affinityMask;
			}
		}
	};
}